package com.yupi.project.exception;

import com.yupi.project.common.ErrorCode;

/**
 * 抛异常工具类
 
 * <p>
 * 这段代码定义了一个名为ThrowUtils的公共类。它包含了一些静态方法，用于条件判断并抛出异常。以下是这个类中的方法：
 * 这个类的目的是提供一种方便的方式来进行条件判断，并在条件成立时抛出异常。它可以在代码中简化异常抛出的过程，使代码更加简洁和可读性更强。
 */
public class ThrowUtils {

    /**
     * 条件成立则抛异常
     *
     * @param condition
     * @param runtimeException
     */
    public static void throwIf(boolean condition, RuntimeException runtimeException) {
        if (condition) {
            throw runtimeException;
        }
    }

    /**
     * 条件成立则抛异常
     *
     * @param condition
     * @param errorCode
     */
    public static void throwIf(boolean condition, ErrorCode errorCode) {
        throwIf(condition, new BusinessException(errorCode));
    }

    /**
     * 条件成立则抛异常
     *
     * @param condition
     * @param errorCode
     * @param message
     */
    public static void throwIf(boolean condition, ErrorCode errorCode, String message) {
        throwIf(condition, new BusinessException(errorCode, message));
    }
}
